package org.example.system.service;

import org.example.common.core.utils.page.Pager;
import org.example.system.domain.bo.SysClientBo;
import org.example.system.domain.bo.SysOauthClientBo;
import org.example.system.domain.vo.SysClientVo;
import org.example.system.domain.vo.SysOauthClientVo;

import java.util.List;

public interface ISysOauthClientService {


    SysClientVo preBuild();
    /**
     * 创建客户端
     * @param clientDetails
     * @return
     */
    int createOauthClientDetails(SysClientBo clientDetails);

    /**
     * 编辑客户端
     * @param clientDetails
     * @return
     */
    int updateOauthClientDetails(SysClientBo clientDetails);

    /**
     * 删除客户端
     * @param clientId
     * @return
     */
    int deleteOauthClientDetails(String clientId);

    /**
     * 重置密钥
     * @param clientId
     * @return
     */
    String resetClientSecret(String clientId);

    /**
     * 返回客户端分页列表
     * @param pager
     * @return
     */
    Pager<SysClientVo>  selectOauthClientPage(Pager pager);

    /**
     * 返回客户端列表
     * @param pager
     * @return
     */
    List<SysClientVo> selectOauthClientList(Pager pager);

    /**
     * 返回客户端信息
     * @param clientId
     * @return
     */
    SysClientVo selectOauthClientByClientId(String clientId);
}
